import math
import os
import random
import re
import sys
if __name__ == '__main__':
x,y,l,r = list(map(int, input().rstrip().split()))
arr = []
a,b = 1,1
while a<r:
b = 1
while a+b<=r:
if l <= a+b and a+b <= r:
arr.append(a+b)
b *= y
a *= x
ans = 0
arr += [l-1,r+1]
arr.sort()
for i in range(1,len(arr)):
ans = max(ans,arr[i]-arr[i-1]-1)
print(ans)
180C - Letter | 151A - Soft Drinking |
1352A - Sum of Round Numbers | 281A - Word Capitalization |
1646A - Square Counting | 266A - Stones on the Table |
61A - Ultra-Fast Mathematician | 148A - Insomnia cure |
1650A - Deletions of Two Adjacent Letters | 1512A - Spy Detected |
282A - Bit++ | 69A - Young Physicist |
1651A - Playoff | 734A - Anton and Danik |
1300B - Assigning to Classes | 1647A - Madoka and Math Dad |
710A - King Moves | 1131A - Sea Battle |
118A - String Task | 236A - Boy or Girl |
271A - Beautiful Year | 520B - Two Buttons |
231A - Team | 479C - Exams |
1030A - In Search of an Easy Problem | 158A - Next Round |
71A - Way Too Long Words | 160A - Twins |
1A - Theatre Square | 1614B - Divan and a New Project |